package org.jeecg.modules.lab.device.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * @Description: 实验室设备信息
 * @Author: jeecg-boot
 * @Date:   2023-07-05
 * @Version: V1.0
 */
@Data
@TableName("lab_device")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="lab_device对象", description="实验室设备信息")
public class LabDevice implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private java.lang.String id;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private java.util.Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private java.lang.String sysOrgCode;
	/**设备名称*/
	@Excel(name = "设备名称", width = 15)
    @ApiModelProperty(value = "设备名称")
    private java.lang.String devName;
	/**设备自编号*/
	@Excel(name = "设备自编号", width = 15)
    @ApiModelProperty(value = "设备自编号")
    private java.lang.String devNumber;
	/**设备类型编码*/
	@Excel(name = "设备类型编码", width = 15)
    @ApiModelProperty(value = "设备类型编码")
    private java.lang.String devTypeCode;
	/**规格型号*/
	@Excel(name = "规格型号", width = 15)
    @ApiModelProperty(value = "规格型号")
    private java.lang.String devModel;
	/**技术参数*/
	@Excel(name = "技术参数", width = 15)
    @ApiModelProperty(value = "技术参数")
    private java.lang.String params;
	/**设备状态*/
	@Excel(name = "设备状态", width = 15)
    @ApiModelProperty(value = "设备状态")
    private java.lang.String status;
	/**制造商*/
	@Excel(name = "制造商", width = 15)
    @ApiModelProperty(value = "制造商")
    private java.lang.String producer;
	/**制造商国别*/
	@Excel(name = "制造商国别", width = 15)
    @ApiModelProperty(value = "制造商国别")
    private java.lang.String country;
	/**出厂编号*/
	@Excel(name = "出厂编号", width = 15)
    @ApiModelProperty(value = "出厂编号")
    private java.lang.String initialNumber;
	/**制造年月*/
	@Excel(name = "制造年月", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "制造年月")
    private java.util.Date produceDate;
	/**投产日期*/
	@Excel(name = "投产日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "投产日期")
    private java.util.Date operationDate;
	/**效用年限*/
	@Excel(name = "效用年限", width = 15)
    @ApiModelProperty(value = "效用年限")
    private java.lang.Integer validity;
	/**资产原值*/
	@Excel(name = "资产原值", width = 15)
    @ApiModelProperty(value = "资产原值")
    private java.lang.Double cost;
	/**所属单位*/
	@Excel(name = "所属单位", width = 15)
    @ApiModelProperty(value = "所属单位")
    private java.lang.String company;
	/**期末累计折旧*/
	@Excel(name = "期末累计折旧", width = 15)
    @ApiModelProperty(value = "期末累计折旧")
    private java.lang.Double totalDeprecition;
	/**期末净值*/
	@Excel(name = "期末净值", width = 15)
    @ApiModelProperty(value = "期末净值")
    private java.lang.Double netWorth;
	/**年累折旧*/
	@Excel(name = "年累折旧", width = 15)
    @ApiModelProperty(value = "年累折旧")
    private java.lang.Double yearDeprecition;
	/**资产编号*/
	@Excel(name = "资产编号", width = 15)
    @ApiModelProperty(value = "资产编号")
    private java.lang.String assetNumber;
	/**存放地点*/
	@Excel(name = "存放地点", width = 15)
    @ApiModelProperty(value = "存放地点")
    private java.lang.String savePlace;
	/**设备保管人*/
	@Excel(name = "设备保管人", width = 15)
    @ApiModelProperty(value = "设备保管人")
    private java.lang.String custodian;
	/**班组*/
	@Excel(name = "班组", width = 15, dicCode = "team")
	@Dict(dicCode = "team")
    @ApiModelProperty(value = "班组")
    private java.lang.String team;
	/**ABCDE标识*/
	@Excel(name = "ABCDE标识", width = 15)
    @ApiModelProperty(value = "ABCDE标识")
    private java.lang.String abcde;
	/**CMA设备*/
	@Excel(name = "CMA设备", width = 15, dicCode = "yn")
    @Dict(dicCode = "yn")
    @ApiModelProperty(value = "CMA设备")
    private java.lang.String cma;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private java.lang.String remarks;
	/**设备分类*/
	@Excel(name = "设备分类", width = 15)
    @ApiModelProperty(value = "设备分类")
    private java.lang.String devType;
	/**使用状态*/
	@Excel(name = "使用状态", width = 15, dicCode = "use_status")
	@Dict(dicCode = "use_status")
    @ApiModelProperty(value = "使用状态")
    private java.lang.String useStatus;
	/**用途*/
	@Excel(name = "用途", width = 15)
    @ApiModelProperty(value = "用途")
    private java.lang.String useTo;
	/***/
	@Excel(name = "维保周期", width = 15)
    @ApiModelProperty(value = "维保周期")
    private java.lang.Integer checkCycle;
	/**上次校准/维保时间*/
	@Excel(name = "上次校准/维保时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "上次校准/维保时间")
    private java.util.Date lastCheckDate;
	/**有效截止日期至*/
	@Excel(name = "有效截止日期至", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "有效截止日期至")
    private java.util.Date endCheckDate;
	/**计划送检日期*/
	@Excel(name = "计划送检日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "计划送检日期")
    private java.util.Date planCheckDate;
	/**是否重点设备*/
	@Excel(name = "是否重点设备", width = 15, dicCode = "yn")
    @Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否重点设备")
    private java.lang.String important;
    /**设备图片*/
    @ApiModelProperty(value = "设备图片")
    private String devPicture;
    /**二维码*/
    @ApiModelProperty(value = "二维码")
    private String qrCode;
    /**规程文件*/
    @ApiModelProperty(value = "规程文件")
    private String rulesDoc;
    /**是否需要检定*/
    @Excel(name = "是否需要检定", width = 15, dicCode = "yn")
    @Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否需要检定")
    private java.lang.String checkMark;

    /**定检日期*/
    @Excel(name = "定检日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "定检日期")
    private java.util.Date checkDate;

    /**临检日期*/
    @Excel(name = "临检日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "临检日期")
    private java.util.Date visitDate;

    /**公用标识(1为是、0为否)*/
    @ApiModelProperty(value = "公用标识(1为是、0为否)")
    private String commonMark;

    /**数据同步标识*/
    @ApiModelProperty(value = "数据同步标识")
    private java.lang.String synFlag;
}
